// 用于封装与本地存储相关的操作函数  约定通用的键名

const INFO_KEY = 'hm_shopping_info'
const HISTORY_KEY = 'hm_history_list'

// 封装以下三个方法
// 获取个人信息，如果存在信息，则将其解析为对象返回；如果不存在，则返回一个默认的对象，其中 token 和 userId 为空字符串。
export const getInfo = () => {
  const result = localStorage.getItem(INFO_KEY)
  return result
    ? JSON.parse(result)
    : {
        token: '',
        userId: ''
      }
}
// 设置个人信息，到本地存储中，将信息对象转换为 JSON 字符串后进行存储。
export const setInfo = (info) => {
  localStorage.setItem(INFO_KEY, JSON.stringify(info))
}
// 移除个人信息
export const removeInfo = () => {
  localStorage.removeItem(INFO_KEY)
}

// 搜索栏相关
// 获取搜索历史，如果存在历史记录，则将其解析为数组返回；如果不存在，则返回一个空数组。
export const getHistoryList = () => {
  const result = localStorage.getItem(HISTORY_KEY)
  return result ? JSON.parse(result) : []
}
// 设置搜索历史到本地存储中，将数组转换为 JSON 字符串后进行存储。
export const setHistoryList = (arr) => {
  localStorage.setItem(HISTORY_KEY, JSON.stringify(arr))
}
